///*
// * EmployeeLastNameCompare.cpp
// *
// *  Created on: Dec 8, 2014
// *      Author: liuchen
// */
//#include <iostream>
//#include <vector>
//#include <string>
//
//class Employee{
//private:
//	string name;
//	double salary;
//public:
//	void setValue(const string &n,double s){
//		name=n;
//		salary=s;
//	}
//
//	const string & getName()const
//		return name;
//
//	void print(ostream & out) const{
//		out<<name<<"("<<salary<<"")";
//	}
//
//	bool operator< (const Employee & rhs) const{
//		return salary<rhs.salary;
//	}
//
//};
//
//ostream& operator << (ostream & out,const Employee & rhs){
//	rhs.print(out);
//	return out;
//}
//
//class EmployeeLastNameCompare{
//public:
//	bool operator() (const Employee & lhs,const Employee & rhs) const{
//		return getLast(lhs.getName()<getLast(rhs.getName());)
//	};
//
//	string getLast(const string & name){
//		string last;
//		int blankPosition=name.find(" ");
//		last=name.substr(blankPosition+1,name.size());
//		return last;
//	}
//
//	int main(){
//
//		vector<Employee> v(3);
//
//		v[0].setValue("George Bush", 400000.00);
//		v[1].setValue("Bill Gates", 2000000000.00);
//		v[2].setValue("Dr. Phil", 13000000.00);
//		cout<<findMax(v, EmployeeLastNameCompare())<<endl;
//		return 0;
//	}
//}
